// POJ1833 排列
// 陈锋
#include <cstdio>
#include <algorithm>
using namespace std;
const int NN = 1024 + 8;
int A[NN];
int main() {
  int T, n, K;
  scanf("%d", &T);
  while (T--) {
    scanf("%d %d", &n, &K);
    for (int i = 0; i < n; ++i) scanf("%d", &A[i]);
    for (int i = 0; i < K; i++) next_permutation(A, A + n);
    for (int i = 0; i < n; ++i) printf("%d ", A[i]);
    puts("");
  }
  return 0;
}
/*
  注意next_permutation会直接改变输入的容器(本题中就是数组A)
  算法分析请参考: 《入门经典-第2版》7.2.1  生成 1~n 的排列
*/
// 1833 Accepted 209 5 386  C++
